import { ajax } from '@/utils'

import type {
  BynAlertItem,
  BynGoodsItem,
  BynSaleStyleItem
} from './rechargeTypes'

const baseUrl = '/yswy-jdzq-back-service'

export default {
  /** 订单列表 */
  getOrderList(data): Promise<any> {
    return ajax.post(`${baseUrl}/rechargeOrder/list`, data)
  },
  //**电费订单管理 */
  getElectricOrder(data): Promise<any> {
    return ajax.post(`${baseUrl}/electricOrder/list`, data)
  },
  //**电费商品管理 */
  getElectricgoods(data): Promise<any> {
    return ajax.post(`${baseUrl}/electricProduct/list`, data)
  },
  /** 重试记录 */
  getRetryRecord(orderNo): Promise<any> {
    return ajax.get(`${baseUrl}/rechargeOrder/retryRecord/${orderNo}`)
  },
  /** 重试开关状态 */
  getRetryFlag(): Promise<number> {
    return ajax.get(`${baseUrl}/rechargeOrder/openFlag`)
  },
  /** 重试开关状态 */
  changeRetryFlag(): Promise<number> {
    return ajax.post(`${baseUrl}/rechargeOrder/setRetryFlag`)
  },

  /** 订单售后 */
  orderAfterSale(orderNo: string): Promise<any> {
    return ajax.post(`${baseUrl}/rechargeOrder/afterSale`, { orderNo })
  },
  /**电费订单售后 */
  ElectricOrderAfterSale(orderNo: string): Promise<any> {
    return ajax.post(`${baseUrl}/electricOrder/aftersale/${orderNo}`)
  },
  /** 完成充值 */
  finish(orderNo: string): Promise<any> {
    return ajax.post(`${baseUrl}//rechargeOrder/finish/${orderNo}`)
  },

  /** 温馨提示列表 */
  getAlertList(): Promise<BynAlertItem[]> {
    return ajax.get(`${baseUrl}/rechargeReminder/list`)
  },

  /** 编辑温馨提示 */
  editAlert(id, hint): Promise<any> {
    return ajax.put(`${baseUrl}/rechargeReminder/edit`, { id, hint })
  },

  /** 促销样式列表 */
  getRechargeShowStylelist(type): Promise<BynSaleStyleItem[]> {
    return ajax.get(`${baseUrl}/rechargeShowStyle/list?type=${type}`)
  },

  /** 新增促销样式 */
  addRechargeShowStyle(data: BynSaleStyleItem): Promise<any> {
    return ajax.post(`${baseUrl}/rechargeShowStyle/add`, data)
  },

  /** 编辑促销样式 */
  editRechargeShowStyle(data: BynSaleStyleItem): Promise<any> {
    return ajax.put(`${baseUrl}/rechargeShowStyle/edit`, data)
  },

  /** 商品列表 */
  getGoodsList(type): Promise<BynGoodsItem[]> {
    return ajax.get(`${baseUrl}/chargeProduct/list?type=${type}`)
  },

  /** 编辑商品*/
  editGoods(id, price, goldBean, showStyle): Promise<any> {
    return ajax.put(`${baseUrl}/chargeProduct/edit`, {
      id,
      goldBean,
      price,
      showStyle
    })
  },
  /**编辑电费 */
  editElectric(id, payAmount, payGold, showStyle): Promise<any> {
    return ajax.put(`${baseUrl}/electricProduct/edit`, {
      id,
      payAmount,
      payGold,
      showStyle
    })
  },
  /** 上下架商品 */
  upDownGoods(id): Promise<any> {
    return ajax.put(`${baseUrl}/chargeProduct/upDown/${id}`)
  }
}
